package com.qumitech.visualnovel.pubdef.dto.accompany.admin;

import com.qumitech.visualnovel.component.annotation.ExcelAnnotation;

/**
 * AccompanyOrderExportDTO
 *
 * @author zhangbc
 * @version 1.0.0
 * @date 2020/8/25 20:35
 **/
public class AccompanyOrderExportDTO {
    @ExcelAnnotation("订单编号")
    private String orderNo;
    @ExcelAnnotation("下单人ID")
    private String uid;
    @ExcelAnnotation("下单人昵称")
    private String userName;
    @ExcelAnnotation("接单人")
    private String toUid;
    @ExcelAnnotation("接单人昵称")
    private String toUserName;
    private String skillId;
    @ExcelAnnotation("技能名称")
    private String skillName;
    private String skillIcon;
    @ExcelAnnotation("单价/钻")
    private String unitPrice;
    @ExcelAnnotation("单位")
    private String skillPriceBase;
    @ExcelAnnotation("数量")
    private String orderNum;
    @ExcelAnnotation("订单总价/钻")
    private String originPrice;
    @ExcelAnnotation("优惠券")
    private String couponName;
    @ExcelAnnotation("实付/钻")
    private String finalPrice;
    private String couponId;
    @ExcelAnnotation("创建时间")
    private String orderCreateTime;
    @ExcelAnnotation("最后变化时间")
    private String updateTime;
    @ExcelAnnotation("订单状态")
    private String state;
    @ExcelAnnotation("接单截止时间")
    private String orderTakingEndTime;
    @ExcelAnnotation("预期开始时间")
    private String expectedStartTime;
    @ExcelAnnotation("服务超时时间")
    private String serveEndTime;
    @ExcelAnnotation("实际开始时间")
    private String actualStartTime;
    @ExcelAnnotation("实际截止时间")
    private String actualEndTime;
    @ExcelAnnotation("评价结束时间")
    private String appraiseEndTime;
    @ExcelAnnotation("备注")
    private String remark;
    @ExcelAnnotation("取消原因")
    private String cancelReason;
    @ExcelAnnotation("取消描述")
    private String cancelRemark;

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    public String getUid() {
        return uid;
    }

    public void setUid(String uid) {
        this.uid = uid;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getToUid() {
        return toUid;
    }

    public void setToUid(String toUid) {
        this.toUid = toUid;
    }

    public String getToUserName() {
        return toUserName;
    }

    public void setToUserName(String toUserName) {
        this.toUserName = toUserName;
    }

    public String getSkillId() {
        return skillId;
    }

    public void setSkillId(String skillId) {
        this.skillId = skillId;
    }

    public String getSkillName() {
        return skillName;
    }

    public void setSkillName(String skillName) {
        this.skillName = skillName;
    }

    public String getSkillIcon() {
        return skillIcon;
    }

    public void setSkillIcon(String skillIcon) {
        this.skillIcon = skillIcon;
    }

    public String getSkillPriceBase() {
        return skillPriceBase;
    }

    public void setSkillPriceBase(String skillPriceBase) {
        this.skillPriceBase = skillPriceBase;
    }

    public String getCouponId() {
        return couponId;
    }

    public void setCouponId(String couponId) {
        this.couponId = couponId;
    }

    public String getCouponName() {
        return couponName;
    }

    public void setCouponName(String couponName) {
        this.couponName = couponName;
    }

    public String getOriginPrice() {
        return originPrice;
    }

    public void setOriginPrice(String originPrice) {
        this.originPrice = originPrice;
    }

    public String getFinalPrice() {
        return finalPrice;
    }

    public void setFinalPrice(String finalPrice) {
        this.finalPrice = finalPrice;
    }

    public String getOrderNum() {
        return orderNum;
    }

    public void setOrderNum(String orderNum) {
        this.orderNum = orderNum;
    }

    public String getState() {
        return state;
    }

    public void setState(String state) {
        switch (state) {
            case "0":
                this.state = "待接单";
                break;
            case "1":
                this.state = "待服务";
                break;
            case "2":
                this.state = "申请开始服务";
                break;
            case "3":
                this.state = "进行中";
                break;
            case "4":
                this.state = "待评价";
                break;
            case "5":
                this.state = "已评价";
                break;
            case "6":
                this.state = "超时取消";
                break;
            case "7":
                this.state = "用户主动取消";
                break;
            case "8":
                this.state = "陪玩拒绝接单";
                break;
            case "9":
                this.state = "退款中";
                break;
            case "10":
                this.state = "申诉中";
                break;
            case "11":
                this.state = "已退款";
                break;
            default:
                this.state = "未定义";
                break;
        }
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getCancelReason() {
        return cancelReason;
    }

    public void setCancelReason(String cancelReason) {
        this.cancelReason = cancelReason;
    }

    public String getCancelRemark() {
        return cancelRemark;
    }

    public void setCancelRemark(String cancelRemark) {
        this.cancelRemark = cancelRemark;
    }

    public String getOrderCreateTime() {
        return orderCreateTime;
    }

    public void setOrderCreateTime(String orderCreateTime) {
        this.orderCreateTime = orderCreateTime;
    }

    public String getOrderTakingEndTime() {
        return orderTakingEndTime;
    }

    public void setOrderTakingEndTime(String orderTakingEndTime) {
        this.orderTakingEndTime = orderTakingEndTime;
    }

    public String getExpectedStartTime() {
        return expectedStartTime;
    }

    public void setExpectedStartTime(String expectedStartTime) {
        this.expectedStartTime = expectedStartTime;
    }

    public String getServeEndTime() {
        return serveEndTime;
    }

    public void setServeEndTime(String serveEndTime) {
        this.serveEndTime = serveEndTime;
    }

    public String getActualStartTime() {
        return actualStartTime;
    }

    public void setActualStartTime(String actualStartTime) {
        this.actualStartTime = actualStartTime;
    }

    public String getActualEndTime() {
        return actualEndTime;
    }

    public void setActualEndTime(String actualEndTime) {
        this.actualEndTime = actualEndTime;
    }

    public String getAppraiseEndTime() {
        return appraiseEndTime;
    }

    public void setAppraiseEndTime(String appraiseEndTime) {
        this.appraiseEndTime = appraiseEndTime;
    }

    @Override
    public String toString() {
        return super.toString();
    }

    public String getUnitPrice() {
        return unitPrice;
    }

    public void setUnitPrice(String originPrice, String orderNum) {
        if (orderNum == null || originPrice == null || Integer.valueOf(orderNum) == 0)
        {
            this.unitPrice = "0";
        } else {
            int unit = Integer.valueOf(originPrice) / Integer.valueOf(orderNum);
            this.unitPrice = String.valueOf(unit);
        }
    }

    public String getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(String updateTime) {
        this.updateTime = updateTime;
    }
}
